Non-volatile memory (NVM) is a data storage medium that has the capabilities to maintain information without additional electric power, read data fast, and resist shock, and therefore is widely used in memory cards, solid-state drives (SSD), and portable multimedia devices. In general, a non-volatile memory, such as a flash memory storage array, includes a plurality of blocks, and each of the blocks includes a plurality of pages. A page is usually the smallest unit of programming. In other words, the page is the smallest unit when writing or reading data. When reading the data of a certain page, a data storage device reads the data of the page according to preset read parameters and decodes the data of the read page.
However, even if the above decoding is capable of error correction, its correction capability still has an upper limit. Therefore, once it is found that the data of the read page cannot be error-corrected effectively by the decoding; that is, the decoding result exceeds a certain level of errors, the data storage device re-reads the data of the page according to each of a plurality of retry tables sequentially by using different read parameters, until the data of the page can be read without an occurrence of an uncorrectable error. As a result, the more the retry tables, the more time the data storage device may take to find a suitable retry table, so that the times of reading the page is relatively increased. Thus, read disturbance may easily occur.